/**
 * 原型模式：通过clone创建重复对象，减少每次new对象的性能损耗。
 * 
 * 结构：
 * 1.原型接口：Shape；实现了cloneable接口
 * 2.具体原型类：CircleShape、Rectangle、Square；类似细胞分裂的初始细胞，通过这几个类进行对象创建时的克隆。
 * 3.客户端：SimpleMain； 创建具体原型类
 * 4.其他：ShapeCache：作为原型类的缓存类，每次从这里取原型类
 */
public class SimpleMain {
    public static void main(String[] args){
        ShapeCache.loadShapeProperty();
        ShapeCache.getShape("1").draw();
        ShapeCache.getShape("2").draw();
        ShapeCache.getShape("3").draw();
    }
}
